package com.sky.service.impl;

import com.sky.entity.SetmealDish;
import com.sky.mapper.SetmealDishMapper;
import com.sky.service.SetmealDishService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 套餐和菜品中间表业务实现类
 *
 * @Author Vsunks.v
 * @Date 2023/5/3 11:43
 * @Blog blog.sunxiaowei.net/996.mba
 * @Description: 套餐和菜品中间表业务实现类
 */
@Service
public class SetmealDishServiceImpl implements SetmealDishService {

    @Autowired
    SetmealDishMapper setmealDishMapper;

    /**
     * 根据菜品id们获取关联的所有套餐
     *
     * @param dishIds 菜品id们
     * @return 关联的所有套餐
     */
    @Override
    public List<SetmealDish> findByDishIds(List<Long> dishIds) {
        // 调用mapper查询
        return setmealDishMapper.selectByDishIds(dishIds);
    }

    /**
     * 根据套餐id删除关联套餐详情（与对应菜品的关联关系）
     *
     * @param setmealId 套餐id
     */
    @Override
    public boolean deleteBySetmealId(Long setmealId) {
        // 调用mapper删除，组织数据并返回
        return setmealDishMapper.deleteBySetmealId(setmealId) > 0;
    }

    /**
     * 批量保存套餐详情（与对应菜品的关联关系）
     * @param setmealDishes 套餐详情（与对应菜品的关联关系）
     * @return 是否保存成功
     */
    @Override
    public boolean saveBatch(List<SetmealDish> setmealDishes) {
        // 调用mapper批量保存
        return setmealDishMapper.insertBatch(setmealDishes) > 0;
    }
}
